package cn.jinhe.doc.view.action;

import java.util.Date;
import java.util.List;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionContext;

import cn.jinhe.doc.base.BaseAction;
import cn.jinhe.doc.domain.DeviceMatain;
import cn.jinhe.doc.domain.FixedAssts;
import cn.jinhe.doc.domain.Material;
import cn.jinhe.doc.domain.Reply;
import cn.jinhe.doc.domain.Topic;
import cn.jinhe.doc.util.QueryHelper;

@Controller
@Scope("prototype")
public class FixedAsstsAction extends BaseAction<FixedAssts>{

	private  Long materialId;

	private Long fixedAsstsId;

	private int isScrap;
	private String searchSerialNo;

	public String getSearchSerialNo() {
		return searchSerialNo;
	}

	public void setSearchSerialNo(String searchSerialNo) {
		this.searchSerialNo = searchSerialNo;
	}



	public String show() throws Exception{
		
		FixedAssts fixedAssts=fixedAsstsService.getById(fixedAsstsId);
		ActionContext.getContext().put("fixedAssts", fixedAssts);
	
		
		new QueryHelper(DeviceMatain.class, "d")//
		.addCondition("d.fixedAssts=?", fixedAssts)//
		.addOrderProperty("d.matainDate", true)//
		.preparePageBean(deviceMatainService, pageNum, pageSize);

		
		return "show";
	}
	
	
	
	/*
	 * 列表
	 */
	public String list() throws Exception {
		//List<User> userList = userService.findAll();
		//ActionContext.getContext().put("userList", userList);
		
		//准备分页信息
		if(searchSerialNo==null){
		new QueryHelper(FixedAssts.class, "f").preparePageBean(fixedAsstsService, pageNum, pageSize);
		}

		if(searchSerialNo!=null){
		new QueryHelper(FixedAssts.class, "f")
		//.addCondition("f.material.materialType.id=?",1)
//		.addCondition("f.serialNo like :?", searchSerialNo)
		.addCondition("f.fixAsstsNo like '%"+searchSerialNo+"%'")
		.preparePageBean(fixedAsstsService, pageNum,
				pageSize);}
		
		
		return "list";
	}
	/*
	 * 删除
	 */
	public String delete() throws Exception {
		fixedAsstsService.delete(model.getId());
		ActionContext.getContext().getValueStack().push(fixedAsstsId);
		
		return "toList";
	}

	
	
	/*
	 * 添加
	 */
	public String add() throws Exception {
		
/*		model.setDepartment(departmentService.getById(departmentId));
		List<Role> roleList=roleService.getByIds(roleIds);
		model.setRoles(new HashSet<Role>(roleList));
//		model.setRoles(new ArrayList().addAll(roleList));
		
		String md5Digest=DigestUtils.md5Hex("1234");
		model.setPassword(md5Digest);*/
		

		
//		model.setStore((long) 0);
//		model.setfixedAsstsType(fixedAsstsTypeService.getById(fixedAsstsTypeId));
		model.setUser(getCurrentUser());
		model.setRecordTime(new Date());
		
		fixedAsstsService.save(model);

//		return "toList";
		return "toSetMaterial";
	}
	public String ensureMaterial() throws Exception{
    	FixedAssts fixedAssts=fixedAsstsService.getById(fixedAsstsId);
//		fixedAssts.
    	fixedAssts.setMaterial(materialService.getById(materialId));
		fixedAsstsService.update(fixedAssts);
		
		return "toList";
	}
	public String setMaterial() throws Exception{
	
		new QueryHelper(Material.class, "m").preparePageBean(materialService, pageNum, pageSize);

		return "setMaterial";
		
		
		
	}

	/*
	 * 添加页面
	 */
	public String addUI() throws Exception {
	
//		List<FixedAssts> fixedAsstsTypeList=fixedAsstsTypeService.findAll();
//		ActionContext.getContext().put("fixedAsstsTypeList", fixedAsstsTypeList);
		
		
/*		List<FixedAssts> fixedAsstsList=fixedAsstsService.findAll();
		
		ActionContext.getContext().put("fixedAsstsList", fixedAsstsList);*/
		return "saveUI";	
	}

	/*
	 * 修改页面
	 */
	public String editUI() throws Exception {
		
/*		List<FixedAssts> fixedAsstsTypeList=fixedAsstsService.findAll();
		ActionContext.getContext().put("fixedAsstsTypeList", fixedAsstsTypeList);
		*/
		
		FixedAssts fixedAssts=fixedAsstsService.getById(model.getId());
		ActionContext.getContext().getValueStack().push(fixedAssts);

		return "saveUI";
	}

	/*
	 * 修改
	 */
	public String edit() throws Exception {
		//1,从数据库中取出原对象
		FixedAssts fixedAssts=fixedAsstsService.getById(model.getId());
		fixedAssts.setIsScrap(model.getIsScrap());
		fixedAssts.setQgTime(model.getQgTime());
		fixedAssts.setSerialNo(model.getSerialNo());
		fixedAssts.setFixAsstsNo(model.getFixAsstsNo());
		//2，设置要修改的属性
//		fixedAssts.setName(model.getName());
//		fixedAssts.setSerialNumber(model.getSerialNumber());;
//		fixedAssts.setSpecification(model.getSpecification());
//		fixedAssts.setUnit(model.getUnit());
//		fixedAssts.setStore(model.getStore());
//		fixedAssts.setfixedAsstsType(fixedAsstsTypeService.getById(fixedAsstsTypeId));
		fixedAsstsService.update(fixedAssts);
		
		return "toList";
	}	
	public Long getMaterialId() {
		return materialId;
	}
	public void setMaterialId(Long materialId) {
		this.materialId = materialId;
	}
	public Long getFixedAsstsId() {
		return fixedAsstsId;
	}
	public void setFixedAsstsId(Long fixedAsstsId) {
		this.fixedAsstsId = fixedAsstsId;
	}
	public int getIsScrap() {
		return isScrap;
	}
	public void setIsScrap(int isScrap) {
		this.isScrap = isScrap;
	}
	public Long getfixedAsstsId() {
		return fixedAsstsId;
	}
	public void setfixedAsstsTypeId(Long fixedAsstsId) {
		this.fixedAsstsId = fixedAsstsId;
	}
}
